package com.zckj.handle;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;

/**
 * 集创环境检测仪协议编码器
 * <pre>
 *  1、协议的开始标志 head_data，int类型，16进制表示为0x7e
 *  2、传输的数据长度contentLength,int类型
 *  3、要传输的数据
 * </pre>
 * Created with IDEA
 * author:zwj
 * Date:2019/2/22
 * Time:13:29
 */
public class MonitorBYJCEncoder extends MessageToByteEncoder<MonitorBYJCProtocol>{

    @Override
    protected void encode(ChannelHandlerContext tcx, MonitorBYJCProtocol msg, ByteBuf out) throws Exception {
        //写入消息MonitorBYJC的具体内容
        //1、写入消息的开头信息标志(int类型)
        out.writeInt(msg.getHead_data());
        //2、写入消息的长度（int 类型）
        out.writeInt(msg.getContentLength());
        //3、写入消息的内容（byte[]类型）
        out.writeBytes(msg.getContent());
    }
}
